package com.server.questionbank.snframe.domain.Course;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Tu
 * 知识点实体
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value ="T_knowledge")
public class TKnowledge implements Serializable {
    /**
     * 知识点记录ID
     */
    @TableId(type = IdType.AUTO)
    private Long recordId;

    /**
     * 课程ID
     */
    private Long courseId;

    /**
     * 章节ID
     */
    private Long cameraId;

    /**
     * 引用其他知识点ID
     */
    private Long quoteRecordId;

    /**
     * 引用时间
     */
    private Date quoteTime;

    /**
     * 文件类型
     */
    private String recordType;

    /**
     * 文件路径
     */
    private String recordUrl;

    /**
     * 知识点描述
     */
    private String knowledgeContent;

    /**
     * 文件占据空间大小
     */
    private Integer fileSize;

    /**
     * 是否公开
     */
    private Boolean isPublic;

    /**
     * 上传人
     */
    private String uploadBy;

    /**
     * 上传时间
     */
    private Date uploadTime;

    /**
     * 备注
     */
    private String recordRemark;

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", recordId=").append(recordId);
        sb.append(", courseId=").append(courseId);
        sb.append(", cameraId=").append(cameraId);
        sb.append(", quoteRecordId=").append(quoteRecordId);
        sb.append(", quoteTime=").append(quoteTime);
        sb.append(", recordType=").append(recordType);
        sb.append(", recordUrl=").append(recordUrl);
        sb.append(", knowledgeContent=").append(knowledgeContent);
        sb.append(", fileSize=").append(fileSize);
        sb.append(", isPublic=").append(isPublic);
        sb.append(", uploadBy=").append(uploadBy);
        sb.append(", uploadTime=").append(uploadTime);
        sb.append(", recordRemark=").append(recordRemark);
        sb.append("]");
        return sb.toString();
    }
}